﻿@model SGCC.Models.FiltroObra
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";

    //Cria uma lista com todos os clientes
    List<SelectListItem> listaClientes = new List<SelectListItem>();

    var clientes = new SGCC.Models.ClienteModel().ListarClientes();
    listaClientes.Add(new SelectListItem()
    {
        Text = "Selecione um cliente",
        Value = null,
        Selected = true
    });

    foreach (SGCC.Cliente c in clientes)
    {
        listaClientes.Add(new SelectListItem()
        {
            Text = c.Nome,
            Value = Convert.ToString(c.ClienteId),
            Selected = false
        });
    }

    ViewBag.clientes = listaClientes;

    //Cria uma lista com todos os Engenheiros
    List<SelectListItem> listaEngenheiros = new List<SelectListItem>();

    var engenheiros = new SGCC.Models.EngenheiroModel().ListarEngenheiros();
    listaEngenheiros.Add(new SelectListItem()
    {
        Text = "Selecione um engenheiro",
        Value = null,
        Selected = true
    });

    foreach (SGCC.Engenheiro e in engenheiros)
    {
        listaEngenheiros.Add(new SelectListItem()
        {
            Text = e.Nome,
            Value = Convert.ToString(e.EngenheiroId),
            Selected = false
        });


        ViewBag.engenheiros = listaEngenheiros;
    }

    //Cria uma lista com todos os Arquiteto
    List<SelectListItem> listaArquitetos = new List<SelectListItem>();

    var arquitetos = new SGCC.Models.ArquitetoModel().ListarArquitetos();
    listaArquitetos.Add(new SelectListItem()
    {
        Text = "Selecione um arquiteto",
        Value = null,
        Selected = true
    });

    foreach (SGCC.Arquiteto a in arquitetos)
    {
        listaArquitetos.Add(new SelectListItem()
        {
            Text = a.Nome,
            Value = Convert.ToString(a.ArquitetoId),
            Selected = false
        });


        ViewBag.arquitetos = listaArquitetos;
    }

    //Cria uma lista com todos os Tipos de construção
    List<SelectListItem> listaTiposConstrucao = new List<SelectListItem>();

    var tiposConstrucao = new SGCC.Models.TipoConstrucaoModel().ListarTiposContrucao();
    listaTiposConstrucao.Add(new SelectListItem()
    {
        Text = "Selecione um Tipo",
        Value = null,
        Selected = true
    });

    foreach (SGCC.TipoConstrucao tc in tiposConstrucao)
    {
        listaTiposConstrucao.Add(new SelectListItem()
        {
            Text = tc.Nome,
            Value = Convert.ToString(tc.TipoConstrucaoId),
            Selected = false
        });


        ViewBag.tiposConstrucao = listaTiposConstrucao;
    }
    }
<h2>Obra</h2>

<table class="tabela-cadastros">
    @Html.ValidationSummary(true)
    @using (Html.BeginForm("BuscarObra", "Obra", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <tr>
            <td class="cad-titulo"><label>@Html.LabelFor(o => o.Cliente)</label></td>
            <td>@Html.DropDownListFor(o => o.Cliente, (List<SelectListItem>)ViewBag.clientes, new { @class = "filtro-input" })</td>
        </tr>
        <tr>
            <td class="cad-titulo"><label>@Html.LabelFor(o => o.Engenheiro)</label></td>
            <td>@Html.DropDownListFor(o => o.Engenheiro, (List<SelectListItem>)ViewBag.engenheiros, new { @class = "filtro-input" })</td>
        </tr>
        <tr>
            <td class="cad-titulo"><label>@Html.LabelFor(o => o.Arquiteto)</label></td>
            <td>@Html.DropDownListFor(o => o.Arquiteto, (List<SelectListItem>)ViewBag.arquitetos, new { @class = "filtro-input" })</td>
        </tr>
        <tr>
            <td class="cad-titulo"><label>@Html.LabelFor(o => o.TipoConstrucao)</label></td>
            <td>@Html.DropDownListFor(o => o.TipoConstrucao, (List<SelectListItem>)ViewBag.tiposConstrucao, new { @class = "filtro-input" })</td>
        </tr>
    <tr>
        <td class="cad-titulo"><label for="ddEstado">@Html.LabelFor(o => o.Estado)</label></td>
        <td><select class="filtro-input" id="ddEstado"></select></td>
    </tr>

    <tr>
        <td class="cad-titulo"><label for="ddCidade">@Html.LabelFor(o => o.Cidade)</label></td>
        <td><select class="filtro-input" id="ddCidade"></select></td>
    </tr>
        <tr>
            <td class="td-Enviar" colspan="2">
                <input type="reset" value="Limpar" />
                <input type="submit" value="Buscar" />
            </td>
        </tr>
        @Html.HiddenFor(m => m.Estado)
        @Html.HiddenFor(m => m.Cidade)   
    }
</table>

<br /><br /><br />

@Html.ActionLink("Adicionar Obra","AdicionarObra","Obra", new { @class = "icon-add" })
    
    <table class="mws-table base-datatable">
        <thead>
            <tr>
                <th>Cliente</th>
                <th>Tipo</th>
                <th>Engenheiro</th>
                <th>Arquiteto</th>
                <th>Estado</th>
                <th>Cidade</th>
                <th>Logradouro</th>
                <th colspan="3">Ações</th>

            </tr>
        </thead>
        <tbody>
            @foreach (SGCC.Models.ObraConsulta o in ViewBag.resultado)
            {
                <tr>
                    <td class="column-actions">@o.Cliente </td>
                    <td class="column-actions">@o.TipoConstrucao</td>
                    <td class="column-actions">@o.Engenheiro</td>
                    <td class="column-actions">@o.Arquiteto</td>
                    <td class="column-actions">@o.UF</td>
                    <td class="column-actions">@o.Cidade</td>
                    <td class="column-actions">@o.Logradouro</td>
                    <td>@Html.ActionLink("Editar", "Editar", new { id = o.Id }, new { @class = "icon-edit" })</td>
                    <td>@Html.ActionLink("Desativar", "Desativar", new { id = o.Id }, new { @class = "icon-delete", onclick = "return confirm('Deseja desativar esta obra?');" } )</td>
                    <td>@Html.ActionLink("Cronograma", "Index","Cronograma", new { id = o.Id }, new { @class = "icon-calendar" } )</td>
                </tr>    
            }
        </tbody>
    </table>

<script>
    function carregarEstados() {
        $.getJSON('/estado/get', function (data, status) {
            var estados = $("#ddEstado");

            estados.empty();

            var option = $("<option />");
            option.attr("value", 0).text("Selecione um estado");
            estados.append(option);

            $.each(data, function (i, item) {
                option = $("<option />");
                option.attr("value", item.Id).text(item.Sigla);
                estados.append(option);
            });

            $('#ddEstado option[value="0"]').attr('selected', 'selected');

            carregarCidades();
        });
    }

    function carregarCidades() {
        var estado = $("#ddEstado option:selected").val();

        $("#Estado").val(estado);

        $.getJSON('/cidade/get?uf=' + estado, function (data) {
            var cidades = $("#ddCidade");

            cidades.empty();

            var option = $("<option />");
            option.attr("value", 0).text("Selecione uma cidade");
            cidades.append(option);

            $.each(data, function (i, item) {
                option = $("<option />");
                option.attr("value", item.Id).text(item.Nome);
                cidades.append(option);
            });

            var cidade = $("#cidadeId").val();

            $('#ddCidade option[value="0"]').prop('selected', true);
        });
    }

    $("#ddEstado").change(function (evt) {
        carregarCidades();
    });

    $("#ddCidade").change(function (evt) {
        var cidade = $("#ddCidade option:selected").val();

        $("#Cidade").val(cidade);
    });

    carregarEstados();

</script>